package com.chixing.day18_thread;

/**
 * 多个线程 修改同一个 Account 对象
 * thread1 :+10
 * thread2 :+10
 * 为了防止出现 一个线程在修改数据 尚未提交（结束），其他线程也同时查看或修改该
 * 对象的数据 导致数据不准确
 * ====同步锁
 * 在同一时刻，最多只有一个线程能够获得到该对象锁
 * 若其他线程此时也来访问该synchornized 方法，就获得不到该对象的锁
 *
 * Account account = new Account("smith",100)
 * thread1:account,depoist()
 * thread2:account
 *
 * 【互斥锁】
 *
 * depoist() 所有线程必须[依次执行]
 *
 * account1.depoist();
 * account2.withdraw();
 */
public class Account {

    //1.获得到当前对象的锁 2.才能执行 depoist() 3.执行结束后，释放对象锁
    public synchronized void depoist(){

    }

    public synchronized void withdraw(){

    }
}
